// 生成60个随机数，要求这些随机数位于100-200之间，且各不相同。

import org.w3c.dom.traversal.NodeIterator;

import java.lang.reflect.Array;
import java.util.Arrays;

public class Test3 {

    public static int getRandom() {
        return 100 + (int) (Math.random() * 100);
    }

    /*
     * 如果随机数存在，则返回true，否则返回false
     * */
    public static boolean isExist(int[] list, int random) {
        for (int j = 0; j < list.length; j++) {
//            list[j] += 5;
            if (list[j] == random) {// 此随机数已经存在
                return true;
            }
        }
        return false;
    }

    public static int[] bornRandom() {
        int[] list = new int[60];
        for (int i = 0; i < list.length; i++) {
            while (true) {
                // 1.生成随机数
                int random = getRandom();
                // 2.检查随机数是否存在，存在就重新生成，不存在加入数组
//                boolean isExist = isExist(list, random);
                boolean isExist = Arrays.binarySearch(list, random) >= 0;
                if (isExist == false) {
                    list[i] = random;
                    break;
                }
            }
        }
        return list;
    }

    public static void main(String[] args) {
        int[] list = bornRandom();

        Arrays.sort(list);

        for (int i = 0; i < list.length; i++) {
            System.out.printf("%d : %d\n", i + 1, list[i]);
            list[i] += 5;
        }

        int i = 1;
        for (int item : list) {
            System.out.printf("%d : %d\n", i++, item);
            item += 5;
        }
    }
    ///C语言中，传递地址：形参是指针、数组
}
